package com.ruoyi.system.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import java.io.Serializable;
import java.util.Date;

@Data
@Builder
@TableName("customer_user_info")
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@ApiModel("客户详情列表")
public class CrmCustomerUserInfo implements Serializable {
    private static final long serialVersionUID = 1L;

    /** id */
    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty("id")
    private Long id;

    /** 客户id */
    @ApiModelProperty("客户id")
    private Long customerId;

    /** 单位编号 */
    @ColumnWidth(10)
    @ExcelProperty(value = "单位编号", index = 0)
    @ApiModelProperty("单位编号")
    private String deptNumber;

    /** 个人编号 */
    @ColumnWidth(10)
    @ExcelProperty(value = "个人编号", index = 1)
    @ApiModelProperty("个人编号")
    private String userNumber;

    /**
     * 姓名
     */
    @ColumnWidth(10)
    @ApiModelProperty("姓名")
    @ExcelProperty(value = "姓名", index = 2)
    private String userName;

    /**
     * 证件号码
     */
    @ColumnWidth(10)
    @ApiModelProperty("证件号码")
    @ExcelProperty(value = "证件号码", index = 3)
    private String userIdentityCardNumber;

    /**
     * 对应费款所属期
     */
    @ColumnWidth(10)
    @ApiModelProperty("对应费款所属期")
    @ExcelProperty(value = "对应费款所属期", index = 4)
    private String feesDate;

    /**
     * 费用所属期
     */
    @ColumnWidth(10)
    @ApiModelProperty("费用所属期")
    @ExcelProperty(value = "费用所属期", index = 5)
    private String costDate;

    /**
     * 缴费基数
     */
    @ColumnWidth(10)
    @ApiModelProperty("缴费基数")
    @ExcelProperty(value = "缴费基数", index = 6)
    private Double paymentBase;

    /**
     * 个人缴费金额
     */
    @ColumnWidth(10)
    @ApiModelProperty("个人缴费金额")
    @ExcelProperty(value = "个人缴费金额", index = 7)
    private Double userPaymentNumber;

    /**
     * 单位缴费金额
     */
    @ColumnWidth(10)
    @ApiModelProperty("单位缴费金额")
    @ExcelProperty(value = "单位缴费金额", index = 8)
    private Double deptPaymentNumber;

    /**
     * 缴费类别
     */
    @ColumnWidth(10)
    @ApiModelProperty("缴费类别")
    @ExcelProperty(value = "缴费类别", index = 9)
    private String paymentType;


    /**
     * 缴费标志
     */
    @ColumnWidth(10)
    @ApiModelProperty("缴费标志")
    @ExcelProperty(value = "缴费标志", index = 10)
    private String paymentFlag;

    /**
     * 身份校验返回编码
     */
    @ApiModelProperty("身份校验返回编码")
    private String crawlerCode;


    /**
     * 身份校验返回数据 true or false
     */
    @ApiModelProperty("身份校验返回数据")
    private String crawlerData;

    /**
     * 身份校验返回消息
     */
    @ApiModelProperty("身份校验返回消息")
    private String crawlerMsg;


    /** 身份校验时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("身份校验时间")
    private Date gmtModify;



    /**
     * 是否失业爬虫信息数据 true or false
     */
    @ApiModelProperty("是否失业爬虫信息数据")
    private Boolean identityCheck;


    /**
     * 是否失业爬虫信息 true or false
     */
    @ApiModelProperty("是否失业爬虫信息")
    private String identityCheckMsg;

    /**
     * 失业爬虫证书
     */
    @ApiModelProperty("失业爬虫证书")
    private String identityCheckDocument;

    /**
     * 失业爬虫证书发放时间
     */
    @ApiModelProperty("失业爬虫证书发放时间")
    private String identityCheckDate;


    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("是否失业爬虫时间")
    private Date identityCheckTime;

    /**
     * 退役爬虫返回数据
     */
    @ApiModelProperty("退役爬虫返回数据")
    private String retiredCrawlerData;


    /**
     * 退役爬虫时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("退役爬虫时间")
    private Date retiredCrawlerTime;


    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty("创建时间")
    private Date gmtCreate;

    @ApiModelProperty("年龄")
    private Integer userAge;

    @ApiModelProperty("性别")
    private Integer userGender;

}
